home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / DELPHI / MIDICOM2.ZIP / MIDIDEFS.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-05-01  |  1.7 KB  |  48 lines

  1. { $Header:   G:/delphi/midi/vcs/mididefs.pas   1.1   30 Apr 1996 19:01:12   DAVEC  $ }
  2.  
  3. { Written by David Churcher <dchurcher@cix.compulink.co.uk>,
  4.   released to the public domain. }
  5.  
  6.  
  7. { Common definitions used by DELPHMID.DPR and the MIDI components.
  8.   This must be a separate unit to prevent large chunks of the VCL being
  9.   linked into the DLL. }
  10. unit Mididefs;
  11.  
  12. interface
  13.  
  14. uses WinProcs, WinTypes, MMsystem, Circbuf;
  15.  
  16. type
  17.  
  18.     {-------------------------------------------------------------------}
  19.     { This is the information about the control that must be accessed by
  20.       the MIDI input callback function in the DLL at interrupt time }
  21.     PMidiCtlInfo = ^TMidiCtlInfo;
  22.     TMidiCtlInfo = record
  23.         hMem: THandle;                 { Memory handle for this record }
  24.         PBuffer: PCircularBuffer;    { Pointer to the MIDI input data buffer }
  25.         hWindow: HWnd;                    { Control's window handle }
  26.         SysexOnly: Boolean;            { Only process System Exclusive input }
  27.     end;
  28.  
  29.     { Information for the output timer callback function, also required at
  30.       interrupt time. }
  31.     PMidiOutTimerInfo = ^TMidiOutTimerInfo;
  32.     TMidiOutTimerInfo = record
  33.         hMem: THandle;                { Memory handle for this record }
  34.         PBuffer: PCircularBuffer;    { Pointer to MIDI output data buffer }
  35.         hWindow: HWnd;                { Control's window handle }
  36.         TimeToNextEvent: DWORD;    { Delay to next event after timer set }
  37.         MIDIHandle: HMidiOut;        { MIDI handle to send output to 
  38.                                     (copy of component's FMidiHandle property) }
  39.         PeriodMin: Word;            { Multimedia timer minimum period supported }
  40.         PeriodMax: Word;            { Multimedia timer maximum period supported }
  41.         TimerId: Word;                { Multimedia timer ID of current event }
  42.     end;
  43.  
  44. implementation
  45.  
  46.  
  47. end.
  48.